import request from '@/utils/request'

function getDeviceId() {
  // 这里假设后端会自动获取deviceId，如果需要前端传递，可以用Node.js插件或本地服务实现
  // 这里只做占位，实际PC端可通过本地服务或插件获取
  return ''
}

export function register(data) {
  return request({
    url: '/api/user/register',
    method: 'post',
    data: {
      ...data,
      deviceId: getDeviceId()
    }
  })
}

export function updateUser(data) {
  return request({
    url: '/api/user/update',
    method: 'put',
    data
  })
}

export function findByUsername(username) {
  return request({
    url: `/api/user/${username}`,
    method: 'get'
  })
}

export function updateStatus(userId, status) {
  return request({
    url: '/api/user/status',
    method: 'put',
    params: { userId, status }
  })
}

export function login(data) {
  return request({
    url: '/api/user/login',
    method: 'post',
    data: {
      ...data,
      deviceId: getDeviceId()
    }
  })
}

export function logout(userId) {
  return request({
    url: '/api/user/logout',
    method: 'post',
    params: { userId }
  })
}

export function getCurrentDeviceInfo() {
  return request({
    url: '/api/user/device-info',
    method: 'get'
  })
} 